<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: #f00;
            position: absolute;
            left: 0;
        }
    </style>
</head>

<body>

    <div></div>

    <script>

        // 减速运动
        //    缓冲运动  --- 本质上一种减速的过程
        //    每次都走剩余距离的  1/10   1/20   1/30  ...    缓冲因子
        //        缓冲因子越大，速度就越小，缓冲因子越小，速度越大
        //    速度是由距离决定的


        var oDiv = document.querySelector('div');



        // console.log(_left);


        var t = setInterval(function () {
            var _left = parseInt(getComputedStyle(oDiv).left);
            var speed = Math.ceil((1400 - _left) / 4);   // 10是一个缓冲因子   随便写的
            // 假如要做反向运动，向下取整
            _left += speed;
            oDiv.style.left = _left + 'px';
            if (_left >= 1400) {
                clearInterval(t)
            }
        }, 30)


    </script>

</body>

</html>